package com.gavin.plugin.database;

import java.util.HashMap;
import java.util.Map;

import com.gavin.model.Request;
import com.gavin.model.Response;
import com.gavin.plugin.service.ITransBus;
import com.gavin.schema.dataservice.SQLTrans;

public interface IDataEngine {

	public void setTransBus(ITransBus transBus);

	/**
	 * 执行事务
	 * @param hmDataGroup
	 * @param hmSQLTrans
	 * @param request
	 * @return
	 */
	public Response execute(HashMap<String, DataEngineList> hmDataGroup, Map<String, SQLTrans> hmSQLTrans, Request request);

	/**
	 * @title  
	 * @author Yudao 王冬明（woyuwodao@gmail.com） @date 2018/11/8 12:00
	 * @param 
	 * @return 
	 */
	public Response execute(HashMap<String, DataEngineList> hmDataGroup, Map<String, SQLTrans> hmSQLTrans, IAtom iAtom);

}
